'''
paramiko模块：

    安装: pip install paramiko

    作用：实现ssh功能
        1) 执行远程命令   ssh root@10.1.1.1 hostname
        2) 文件上传、下载  scp
'''

import paramiko

# 执行远程命令
def execCMD():
    ssh_client = paramiko.SSHClient()
    ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    ssh_client.connect(hostname='192.168.140.10', port=22, username='root', password='redhat')

    # 执行命令, 依次返回3个文件，标准输入、标准输出、标准错误输出
    stdin, stdout, stderr = ssh_client.exec_command("free -m")
    result = stdout.read().decode("utf-8")
    print(result)

    ssh_client.close()

# 文件上传、下载
def file_transfer():
    # 创建ssh连接
    sshconn = paramiko.Transport(("192.168.140.10", 22))
    sshconn.connect(username="root", password="redhat")

    # 创建sftp客户端
    sftp = paramiko.SFTPClient.from_transport(sshconn)

    # 上传文件
    sftp.put(r"D:\project1110\utils\MySQLMonitor.py", "/tmp/MySQLMonitor.py")

    # 下载文件
    sftp.get("/etc/fstab", r"D:\project1110\utils\fstab")

    sftp.close()
    sshconn.close()


if __name__ == '__main__':
    file_transfer()













